今天要分享的是Python中的繼承、方法重寫(Method Overriding)、super()方法以及****:
首先是Python中的繼承(是物件導向很重要的概念):
#子類別可以繼承父類別的屬性和方法
#在Pyhton中,創建子類別可以指定父類別,會自動擁有父類別的屬性與方法
如圖所示,動物為父類別,兔子、魚、老鷹為子類別
再來要分享的是方法重寫(Method Overriding):
#是物件導向中的一個特性,允許子類別重寫父類別的方法
1.
class Animal:
def eat(self):
print("這個動物正在吃東西")
class Rabbit(Animal): #子類別(兔子)繼承父類別(動物)
def eat(self): #子類別可重寫父類別的方法
print("兔子正在吃紅蘿蔔")
animal = Animal()
animal.eat()
rabbit = Rabbit()
rabbit.eat() #呼叫eat()方法
輸出結果為:
這個動物正在吃東西
兔子正在吃紅蘿蔔
2.
class Animal:
def eat(self):
print("這個動物正在吃東西")
class Mammal(Animal): #動物是哺乳類的父類別,而哺乳類是貓跟狗的父類別
def hi(self): #哺乳類只有一個方法為hi()方法
print("我是哺乳類")
pass
#貓
class Cat(Mammal): #貓(Cat)繼承哺乳類(Mammal)
def eat(self): #在貓的部分重寫動物的eat()方法
print("小貓正在吃魚")
#狗
class Dog(Mammal):
def eat(self):
print("小狗正在啃骨頭")
cat = Cat()
cat.eat()
dog = Dog()
dog.eat()
m = Mammal()
m.eat() #哺乳類繼承動物,所以也有eat()方法
輸出結果為:
小貓正在吃魚
小狗正在啃骨頭
這個動物正在吃東西
接著是Python中的super()方法:
super函式:可從父類別繼承方法,在子類別使用這些方法
程式碼如下:
輸出結果為:
矩形的初始化已執行
立方體的長寬高是10,20,30
以上是我今天的分享!
參考網址:https://www.youtube.com/watch?v=lvH4-4iYjgs&list=LL&index=4